<?php

/*
 * 	Autor: Augusto Rabelo Azevedo Barbosa 
 * 	Email: augustogcl@gmail.com
 * 	Versão: 3.0.2
 *
 * 	Data da geração do arquivo: 01-12-2014 as 16:28:26
 * 	Referente ao banco de dados: sistemaweb41
 */

class Grupos_Model extends CI_Model {

    private $grupos_id;
    private $grupos_nome;
    private $grupos_idcontrato;

    public function __construct($grupos_id = "", $grupos_nome = "", $grupos_idcontrato = "") {
        $this->grupos_id = $grupos_id;
        $this->grupos_nome = $grupos_nome;
        $this->grupos_idcontrato = $grupos_idcontrato;
    }

    // METODOS GETS


    public function getGrupos_id() {
        return $this->grupos_id;
    }

    public function getGrupos_nome() {
        return $this->grupos_nome;
    }

    public function getGrupos_idcontrato() {
        return $this->grupos_idcontrato;
    }

    // METODOS SETS


    public function inserir($grupos) {
        if ($this->db->insert('grupos', $grupos)) {
            set_notificacao(array(0 => array('tipo' => 1, 'mensagem' => 'Dados Salvos com sucesso!')));
            return $this->db->insert_id();
        } else {

            set_notificacao(array(0 => array('tipo' => 2, 'mensagem' => 'Dados Não salvos com sucesso!')));
            return false;
        }
    }

    public function editar($grupos, $grupos_id) {
        if ($this->db->where('grupos_id', $grupos_id)->update('grupos', $grupos)) {
            set_notificacao(array(0 => array('tipo' => 1, 'mensagem' => 'Dados Salvos com sucesso!')));
            return $grupos_id;
        } else {
            set_notificacao(array(0 => array('tipo' => 2, 'mensagem' => 'Dados Não salvos com sucesso!')));
            return false;
        }
    }

    public function editarGruposPessoas($grupos, $pessoas_id) {
        if ($this->db->where('grupospessoas_pessoa', $pessoas_id)
                        ->update('grupospessoas', $grupos)) {
            set_notificacao(array(0 => array('tipo' => 1, 'mensagem' => 'Dados Salvos com sucesso!')));
            return true;
        } else {
            set_notificacao(array(0 => array('tipo' => 2, 'mensagem' => 'Dados Não salvos com sucesso!')));
            return false;
        }
    }
    
    public function verificaGrupo($grupos_id){        
        $dados = $this->db
                ->where('grupospessoas_grupo', $grupos_id)
                ->select('count(grupospessoas_grupo) as total')			 
                ->get('grupospessoas')
                ->row();        
        return $dados;        
    }

    public function excluir($grupos_id) {
        
        $quantidadeEmpresas = $this->verificaGrupo($grupos_id);
        
        if($quantidadeEmpresas->total > 0){
            set_notificacao(array(0 => array('tipo' => 3, 'mensagem' => 'Este grupo não pode ser excluído porque há empresas vinculadas a ele!')));
            return false;
        }
        
        if ($this->db->where('grupos_id', $grupos_id)->delete('grupos')) {
            set_notificacao(array(0 => array('tipo' => 4, 'mensagem' => 'Dados Salvos com sucesso!')));
        } else {
            set_notificacao(array(0 => array('tipo' => 2, 'mensagem' => 'Dados Não salvos com sucesso!')));
            return false;
        }
    }

    public function getDados($grupos_id) {
        $dados = $this->db
                ->where('grupos_id', $grupos_id)
                ->get('grupos')
                ->row();
        return $dados;
    }

    public function getDadosTodos() {


        $dados = $this->db
                ->where('grupos_idcontrato', get_contrato()->contratos_id)
                ->get('grupos')
                ->result();
        return $dados;
    }
    
}

?>